package org.nanotek.mq.send;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.Session;

import org.nanotek.StringKong;
import org.nanotek.lucene.query.QueryResult;
import org.nanotek.mq.MessageBuilder;
import org.nanotek.util.Base;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
import org.springframework.jms.core.MessagePostProcessor;
import org.springframework.jms.support.converter.MessageConverter;
import org.springframework.stereotype.Component;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * Base Class to route object messages on a JMS server.
 *
 * @param <T>
 */
@Component
public class BaseSender<S,T extends Base<?>> implements Sender<StringKong,T>
{
    private final JmsTemplate jmsTemplate;

    @Autowired
    private Destination destination;

    @Autowired
    public BaseSender( final JmsTemplate jmsTemplate )
    {
        this.jmsTemplate = jmsTemplate;
    }

	public Destination getDestination() {
		return destination;
	}

	public void setDestination(Destination destination) {
		this.destination = destination;
	}

	@Override
	public T send(StringKong message) {
		MessageBuilder builder;
		return null;
	}

	@Override
	public T send(StringKong message, MessagePostProcessor messagePostProcessor) {
		return null;
	}

}
